/*
 * @(#)cn.design.pattern.composite 2020/4/18/0018
 *
 * Copy Right@ 人人译视界
 */


package cn.design.pattern.composite;

/**
 * <pre>
 * @author tuwei
 *
 * @version 0.9
 *
 * 修改版本: 0.9
 * 修改日期: 2020/4/18/0018
 * 修改人 :  tuwei
 * 修改说明: 初步完成
 * 复审人 ：
 * </pre>
 */
public class Client {
	public static void main(String[] args) {
		// 从大到小创建对象
		OrganizationComponent university = new University("清华大学", "中国顶级大学");
		// 创建学院
		OrganizationComponent computeCollege = new College("计算机学院", "计算机学院");
		OrganizationComponent infoCollege = new College("信息工程学院", "信息工程学院");
		// 创建各个学院下面的专业
		computeCollege.add(new Department("软件工程", "软件工程不错"));
		computeCollege.add(new Department("网络工程", "网络工程"));
		computeCollege.add(new Department("计算机科学与技术", "计算机科学与技术"));

		infoCollege.add(new Department("通信工程", "通信工程"));

		university.add(computeCollege);
		university.add(infoCollege);

		university.print();
	}
}
